package br.com.caelum.hackday; import java.io.File; import java.io.IOException; import java.io.PrintStream; import java.nio.charset.StandardCharsets; import org.apache.commons.csv.CSVFormat; import org.apache.commons.csv.CSVParser; import org.apache.commons.csv.CSVRecord; public class ExtratorKhan { public static void main(String[] args) throws IOException { File csvData = new File("khan.csv"); CSVParser parser = CSVParser.parse(csvData, StandardCharsets.UTF_8, CSVFormat.RFC4180); PrintStream out = new PrintStream("khan.sql"); int registro = 1; for (CSVRecord csvRecord : parser) { if(registro++ == 1) continue; out.print("insert into khan ("); out.print("rede,escola,turma,login,aluno,com_dificuldade,precisa_praticar,praticado,nivel1,nivel2,dominado,pontos,exerciseminutes,videominutes,totalminutes,semana"); out.print(") values ("); out.print("'" + limpaTexto(csvRecord.get(0)) + "',"); out.print("'" + limpaTexto(csvRecord.get(1)) + "',"); out.print("'" + limpaTexto(csvRecord.get(2).replace("'", "")) + "',"); out.print("'" + limpaTexto(csvRecord.get(3)) + "',"); out.print("'" + limpaTexto(csvRecord.get(4)) + "',"); out.print("'" + limpaNumero(csvRecord.get(5)) + "',"); out.print("'" + limpaNumero(csvRecord.get(6)) + "',"); out.print("'" + limpaNumero(csvRecord.get(7)) + "',"); out.print("'" + limpaNumero(csvRecord.get(8)) + "',"); out.print("'" + limpaNumero(csvRecord.get(9)) + "',"); out.print("'" + limpaNumero(csvRecord.get(10)) + "',"); out.print("'" + limpaNumero(csvRecord.get(11)) + "',"); out.print("'" + limpaNumero(csvRecord.get(12)) + "',"); out.print("'" + limpaNumero(csvRecord.get(13)) + "',"); out.print("'" + limpaNumero(csvRecord.get(14)) + "',"); out.print("'" + csvRecord.get(15) + "')"); out.print(";"); out.println(); } out.close(); } private static String limpaTexto(String texto) { return texto.replace("'", "''"); } private static String limpaNumero(String numero) { if(numero == null || numero.isEmpty()) return "0"; return numero; } }